function F = sys(x,eC,ell,theta,sigma,pi,rho,eta,i,M,A,B)
% partial default
% partial equilibrium, given eC: 0 < eC < 1
q_star = 1;

q0A  = x(1);
q1A  = x(2);
q0B  = x(3);
q1Bn = x(4);
q1Bd = x(5);
eNn  = x(6);
eNd  = x(7);

a_CA_n = eNn*(1-ell)/(eC*ell+eNn*(1-ell))^(1-eta);
a_CB_n = (1-eNn)*(1-ell)/((1-eC)*ell+(1-eNn)*(1-ell))^(1-eta);
a_NA_n = eC*ell/(eC*ell+eNn*(1-ell))^(1-eta);
a_NB_n = (1-eC)*ell/((1-eC)*ell+(1-eNn)*(1-ell))^(1-eta);
a_CA_d = eNd*(1-ell)/(eC*ell+eNd*(1-ell))^(1-eta);
a_CB_d = (1-eNd)*(1-ell)/((1-eC)*ell+(1-eNd)*(1-ell))^(1-eta);
a_NA_d = eC*ell/(eC*ell+eNd*(1-ell))^(1-eta);
a_NB_d = (1-eC)*ell/((1-eC)*ell+(1-eNd)*(1-ell))^(1-eta);

F(1) = - i + ell*(1-(pi*a_CA_n+(1-pi)*a_CA_d)*theta/w(q1A,sigma,theta))*(mu(q0A,sigma)-1) ...
           + ell*   (pi*a_CA_n+(1-pi)*a_CA_d)*theta/w(q1A,sigma,theta) *(mu(q1A,sigma)-1);
F(2) = - i + ell*(1-pi*a_CB_n*theta/w(q1Bn,sigma,theta)-(1-pi)*a_CB_d*theta/w(q1Bd,sigma,theta))*(mu(q0B,sigma)-1) ...
           + ell*pi*a_CB_n*theta/w(q1Bn,sigma,theta)*(mu(q1Bn,sigma)-1) + ell*(1-pi)*a_CB_d*theta/w(q1Bd,sigma,theta)*(mu(q1Bd,sigma)-1);

F(3) = - q1A  + min(q_star, q0A + ((eC*q0A+(1-eC)*q0B)/M*A/eC         - (1-theta)*(u(q1A,sigma) -u(q0A,sigma)))/theta);
F(4) = - q1Bn + min(q_star, q0B + ((eC*q0A+(1-eC)*q0B)/M*B/(1-eC)     - (1-theta)*(u(q1Bn,sigma)-u(q0B,sigma)))/theta);
F(5) = - q1Bd + min(q_star, q0B + ((eC*q0A+(1-eC)*q0B)/M*rho*B/(1-eC) - (1-theta)*(u(q1Bd,sigma)-u(q0B,sigma)))/theta);

S_NA   = (1-theta)*(u(q1A,sigma) -u(q0A,sigma)-q1A +q0A);
S_NB_n = (1-theta)*(u(q1Bn,sigma)-u(q0B,sigma)-q1Bn+q0B);
S_NB_d = (1-theta)*(u(q1Bd,sigma)-u(q0B,sigma)-q1Bd+q0B);

F(6) = a_NA_n*S_NA - a_NB_n*S_NB_n;
F(7) = a_NA_d*S_NA - a_NB_d*S_NB_d;

%=========================================================================
% subfunctions
%-------------------------------------------------------------------------
function u = u(q,sigma)
% CRRA utility: u(q)
if sigma < 1
    u = q.^(1-sigma)./(1-sigma);
elseif sigma == 1
    u = log(q);
end

function mu = mu(q,sigma)
% marginal utility: u'(q)
mu = q.^(-sigma);

function w = w(q,sigma,theta)
% w function in effective bargaining power
w = theta + (1-theta)*mu(q,sigma);
